package com.atguigu.lease.admin.controller;

import com.atguigu.lease.admin.service.FileService;
import com.atguigu.lease.model.result.Response;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@Tag(name = "文件管理模块")
@RestController
@RequestMapping("/admin/file")
public class FileController {
    //操作minio中的文件  没有表 没有逆向工程的mapper和service，需要我们手动创建
    @Autowired
    FileService fileService;

    @Operation(summary = "1、文件上传接口")
    @PostMapping("/upload")
    //文件上传比较特殊：前端使用多部件的形式提交 后端 可以使用requestParam或者requestBody或者默认 不使用注解获取文件
    //  但是 一定要使用正确的 参数名称获取
    public Response<String> uploadFile(@RequestParam("file")MultipartFile file) {
        String path = fileService.uploadFile(file);
        return Response.ok(path);
    }
}
